using System;
using System.Data.Entity.ModelConfiguration;
using System.Data.Common;
using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Dal.Entities;

namespace Dal.Mapping
{
	public class Doc2Map : EntityTypeConfiguration<Doc2>
	{
		public Doc2Map()
		{
			// Primary Key
			this.HasKey(t => t.DocID);

			// Properties
			this.Property(t => t.DocID)
				.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
				
			this.Property(t => t.DoseDoc2)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionDoseOtherDoc2)
				.HasMaxLength(50);
				
			this.Property(t => t.SuggestDoc2)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestAddDoc2)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestReduceDoc2)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestOtherDoc2)
				.HasMaxLength(50);
				
			// Table & Column Mappings
			this.ToTable("Doc2");
			this.Property(t => t.DocID).HasColumnName("DocID");
			this.Property(t => t.VisitDateDoc2).HasColumnName("VisitDateDoc2");
			this.Property(t => t.DoseDoc2).HasColumnName("DoseDoc2");
			this.Property(t => t.AdditionDoseOtherDoc2).HasColumnName("AdditionDoseOtherDoc2");
			this.Property(t => t.PHQ9C1Doc2).HasColumnName("PHQ9C1Doc2");
			this.Property(t => t.PHQ9C2Doc2).HasColumnName("PHQ9C2Doc2");
			this.Property(t => t.PHQ9C3Doc2).HasColumnName("PHQ9C3Doc2");
			this.Property(t => t.PHQ9C4Doc2).HasColumnName("PHQ9C4Doc2");
			this.Property(t => t.PHQ9C5Doc2).HasColumnName("PHQ9C5Doc2");
			this.Property(t => t.PHQ9C6Doc2).HasColumnName("PHQ9C6Doc2");
			this.Property(t => t.PHQ9C7Doc2).HasColumnName("PHQ9C7Doc2");
			this.Property(t => t.PHQ9C8Doc2).HasColumnName("PHQ9C8Doc2");
			this.Property(t => t.PHQ9C9Doc2).HasColumnName("PHQ9C9Doc2");
			this.Property(t => t.PHQ9C10Doc2).HasColumnName("PHQ9C10Doc2");
			this.Property(t => t.Remit5C1Doc2).HasColumnName("Remit5C1Doc2");
			this.Property(t => t.Remit5C2Doc2).HasColumnName("Remit5C2Doc2");
			this.Property(t => t.Remit5C3Doc2).HasColumnName("Remit5C3Doc2");
			this.Property(t => t.Remit5C4Doc2).HasColumnName("Remit5C4Doc2");
			this.Property(t => t.Remit5C5Doc2).HasColumnName("Remit5C5Doc2");
			this.Property(t => t.Remit5C6Doc2).HasColumnName("Remit5C6Doc2");
			this.Property(t => t.SuggestDoc2).HasColumnName("SuggestDoc2");
			this.Property(t => t.AdditionSuggestAddDoc2).HasColumnName("AdditionSuggestAddDoc2");
			this.Property(t => t.AdditionSuggestReduceDoc2).HasColumnName("AdditionSuggestReduceDoc2");
			this.Property(t => t.AdditionSuggestOtherDoc2).HasColumnName("AdditionSuggestOtherDoc2");
			this.Property(t => t.StatusAudit).HasColumnName("StatusAudit");
			this.Property(t => t.StatusComplete).HasColumnName("StatusComplete");
			this.Property(t => t.VisitorID).HasColumnName("VisitorID");
		}
	}
}

